﻿using System;
using System.Drawing;
using DotNet.Highcharts.Helpers;
using DotNet.Highcharts.Options;
using Point = DotNet.Highcharts.Options.Point;

namespace DotNet.Highcharts.Samples.Models
{
    public static class ChartsData
    {
        public static readonly object[] BerlinData = { -0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0 };
        public static readonly string[] Categories = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
        public static readonly object[] LondonData = { 3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8 };
        public static readonly object[] NewYorkData = { -0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5 };
        public static readonly object[] TokioData = { 7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6 };

        public static readonly object[] StockData =
        {
            0.8446, 0.8445, 0.8444, 0.8451, 0.8418, 0.8264, 0.8258, 0.8232, 0.8233, 0.8258,
            0.8283, 0.8278, 0.8256, 0.8292, 0.8239, 0.8239, 0.8245, 0.8265, 0.8261, 0.8269,
            0.8273, 0.8244, 0.8244, 0.8172, 0.8139, 0.8146, 0.8164, 0.82, 0.8269, 0.8269,
            0.8269, 0.8258, 0.8247, 0.8286, 0.8289, 0.8316, 0.832, 0.8333, 0.8352, 0.8357,
            0.8355, 0.8354, 0.8403, 0.8403, 0.8406, 0.8403, 0.8396, 0.8418, 0.8409, 0.8384,
            0.8386, 0.8372, 0.839, 0.84, 0.8389, 0.84, 0.8423, 0.8423, 0.8435, 0.8422,
            0.838, 0.8373, 0.8316, 0.8303, 0.8303, 0.8302, 0.8369, 0.84, 0.8385, 0.84,
            0.8401, 0.8402, 0.8381, 0.8351, 0.8314, 0.8273, 0.8213, 0.8207, 0.8207, 0.8215,
            0.8242, 0.8273, 0.8301, 0.8346, 0.8312, 0.8312, 0.8312, 0.8306, 0.8327, 0.8282,
            0.824, 0.8255, 0.8256, 0.8273, 0.8209, 0.8151, 0.8149, 0.8213, 0.8273, 0.8273,
            0.8261, 0.8252, 0.824, 0.8262, 0.8258, 0.8261, 0.826, 0.8199, 0.8153, 0.8097,
            0.8101, 0.8119, 0.8107, 0.8105, 0.8084, 0.8069, 0.8047, 0.8023, 0.7965, 0.7919,
            0.7921, 0.7922, 0.7934, 0.7918, 0.7915, 0.787, 0.7861, 0.7861, 0.7853, 0.7867,
            0.7827, 0.7834, 0.7766, 0.7751, 0.7739, 0.7767, 0.7802, 0.7788, 0.7828, 0.7816,
            0.7829, 0.783, 0.7829, 0.7781, 0.7811, 0.7831, 0.7826, 0.7855, 0.7855, 0.7845,
            0.7798, 0.7777, 0.7822, 0.7785, 0.7744, 0.7743, 0.7726, 0.7766, 0.7806, 0.785,
            0.7907, 0.7912, 0.7913, 0.7931, 0.7952, 0.7951, 0.7928, 0.791, 0.7913, 0.7912,
            0.7941, 0.7953, 0.7921, 0.7919, 0.7968, 0.7999, 0.7999, 0.7974, 0.7942, 0.796,
            0.7969, 0.7862, 0.7821, 0.7821, 0.7821, 0.7811, 0.7833, 0.7849, 0.7819, 0.7809,
            0.7809, 0.7827, 0.7848, 0.785, 0.7873, 0.7894, 0.7907, 0.7909, 0.7947, 0.7987,
            0.799, 0.7927, 0.79, 0.7878, 0.7878, 0.7907, 0.7922, 0.7937, 0.786, 0.787,
            0.7838, 0.7838, 0.7837, 0.7836, 0.7806, 0.7825, 0.7798, 0.777, 0.777, 0.7772,
            0.7793, 0.7788, 0.7785, 0.7832, 0.7865, 0.7865, 0.7853, 0.7847, 0.7809, 0.778,
            0.7799, 0.78, 0.7801, 0.7765, 0.7785, 0.7811, 0.782, 0.7835, 0.7845, 0.7844,
            0.782, 0.7811, 0.7795, 0.7794, 0.7806, 0.7794, 0.7794, 0.7778, 0.7793, 0.7808,
            0.7824, 0.787, 0.7894, 0.7893, 0.7882, 0.7871, 0.7882, 0.7871, 0.7878, 0.79,
            0.7901, 0.7898, 0.7879, 0.7886, 0.7858, 0.7814, 0.7825, 0.7826, 0.7826, 0.786,
            0.7878, 0.7868, 0.7883, 0.7893, 0.7892, 0.7876, 0.785, 0.787, 0.7873, 0.7901,
            0.7936, 0.7939, 0.7938, 0.7956, 0.7975, 0.7978, 0.7972, 0.7995, 0.7995, 0.7994,
            0.7976, 0.7977, 0.796, 0.7922, 0.7928, 0.7929, 0.7948, 0.797, 0.7953, 0.7907,
            0.7872, 0.7852, 0.7852, 0.786, 0.7862, 0.7836, 0.7837, 0.784, 0.7867, 0.7867,
            0.7869, 0.7837, 0.7827, 0.7825, 0.7779, 0.7791, 0.779, 0.7787, 0.78, 0.7807,
            0.7803, 0.7817, 0.7799, 0.7799, 0.7795, 0.7801, 0.7765, 0.7725, 0.7683, 0.7641,
            0.7639, 0.7616, 0.7608, 0.759, 0.7582, 0.7539, 0.75, 0.75, 0.7507, 0.7505,
            0.7516, 0.7522, 0.7531, 0.7577, 0.7577, 0.7582, 0.755, 0.7542, 0.7576, 0.7616,
            0.7648, 0.7648, 0.7641, 0.7614, 0.757, 0.7587, 0.7588, 0.762, 0.762, 0.7617,
            0.7618, 0.7615, 0.7612, 0.7596, 0.758, 0.758, 0.758, 0.7547, 0.7549, 0.7613,
            0.7655, 0.7693, 0.7694, 0.7688, 0.7678, 0.7708, 0.7727, 0.7749, 0.7741, 0.7741,
            0.7732, 0.7727, 0.7737, 0.7724, 0.7712, 0.772, 0.7721, 0.7717, 0.7704, 0.769,
            0.7711, 0.774, 0.7745, 0.7745, 0.774, 0.7716, 0.7713, 0.7678, 0.7688, 0.7718,
            0.7718, 0.7728, 0.7729, 0.7698, 0.7685, 0.7681, 0.769, 0.769, 0.7698, 0.7699,
            0.7651, 0.7613, 0.7616, 0.7614, 0.7614, 0.7607, 0.7602, 0.7611, 0.7622, 0.7615,
            0.7598, 0.7598, 0.7592, 0.7573, 0.7566, 0.7567, 0.7591, 0.7582, 0.7585, 0.7613,
            0.7631, 0.7615, 0.76, 0.7613, 0.7627, 0.7627, 0.7608, 0.7583, 0.7575, 0.7562,
            0.752, 0.7512, 0.7512, 0.7517, 0.752, 0.7511, 0.748, 0.7509, 0.7531, 0.7531,
            0.7527, 0.7498, 0.7493, 0.7504, 0.75, 0.7491, 0.7491, 0.7485, 0.7484, 0.7492,
            0.7471, 0.7459, 0.7477, 0.7477, 0.7483, 0.7458, 0.7448, 0.743, 0.7399, 0.7395,
            0.7395, 0.7378, 0.7382, 0.7362, 0.7355, 0.7348, 0.7361, 0.7361, 0.7365, 0.7362,
            0.7331, 0.7339, 0.7344, 0.7327, 0.7327, 0.7336, 0.7333, 0.7359, 0.7359, 0.7372,
            0.736, 0.736, 0.735, 0.7365, 0.7384, 0.7395, 0.7413, 0.7397, 0.7396, 0.7385,
            0.7378, 0.7366, 0.74, 0.7411, 0.7406, 0.7405, 0.7414, 0.7431, 0.7431, 0.7438,
            0.7443, 0.7443, 0.7443, 0.7434, 0.7429, 0.7442, 0.744, 0.7439, 0.7437, 0.7437,
            0.7429, 0.7403, 0.7399, 0.7418, 0.7468, 0.748, 0.748, 0.749, 0.7494, 0.7522,
            0.7515, 0.7502, 0.7472, 0.7472, 0.7462, 0.7455, 0.7449, 0.7467, 0.7458, 0.7427,
            0.7427, 0.743, 0.7429, 0.744, 0.743, 0.7422, 0.7388, 0.7388, 0.7369, 0.7345,
            0.7345, 0.7345, 0.7352, 0.7341, 0.7341, 0.734, 0.7324, 0.7272, 0.7264, 0.7255,
            0.7258, 0.7258, 0.7256, 0.7257, 0.7247, 0.7243, 0.7244, 0.7235, 0.7235, 0.7235,
            0.7235, 0.7262, 0.7288, 0.7301, 0.7337, 0.7337, 0.7324, 0.7297, 0.7317, 0.7315,
            0.7288, 0.7263, 0.7263, 0.7242, 0.7253, 0.7264, 0.727, 0.7312, 0.7305, 0.7305,
            0.7318, 0.7358, 0.7409, 0.7454, 0.7437, 0.7424, 0.7424, 0.7415, 0.7419, 0.7414,
            0.7377, 0.7355, 0.7315, 0.7315, 0.732, 0.7332, 0.7346, 0.7328, 0.7323, 0.734,
            0.734, 0.7336, 0.7351, 0.7346, 0.7321, 0.7294, 0.7266, 0.7266, 0.7254, 0.7242,
            0.7213, 0.7197, 0.7209, 0.721, 0.721, 0.721, 0.7209, 0.7159, 0.7133, 0.7105,
            0.7099, 0.7099, 0.7093, 0.7093, 0.7076, 0.707, 0.7049, 0.7012, 0.7011, 0.7019,
            0.7046, 0.7063, 0.7089, 0.7077, 0.7077, 0.7077, 0.7091, 0.7118, 0.7079, 0.7053,
            0.705, 0.7055, 0.7055, 0.7045, 0.7051, 0.7051, 0.7017, 0.7, 0.6995, 0.6994,
            0.7014, 0.7036, 0.7021, 0.7002, 0.6967, 0.695, 0.695, 0.6939, 0.694, 0.6922,
            0.6919, 0.6914, 0.6894, 0.6891, 0.6904, 0.689, 0.6834, 0.6823, 0.6807, 0.6815,
            0.6815, 0.6847, 0.6859, 0.6822, 0.6827, 0.6837, 0.6823, 0.6822, 0.6822, 0.6792,
            0.6746, 0.6735, 0.6731, 0.6742, 0.6744, 0.6739, 0.6731, 0.6761, 0.6761, 0.6785,
            0.6818, 0.6836, 0.6823, 0.6805, 0.6793, 0.6849, 0.6833, 0.6825, 0.6825, 0.6816,
            0.6799, 0.6813, 0.6809, 0.6868, 0.6933, 0.6933, 0.6945, 0.6944, 0.6946, 0.6964,
            0.6965, 0.6956, 0.6956, 0.695, 0.6948, 0.6928, 0.6887, 0.6824, 0.6794, 0.6794,
            0.6803, 0.6855, 0.6824, 0.6791, 0.6783, 0.6785, 0.6785, 0.6797, 0.68, 0.6803,
            0.6805, 0.676, 0.677, 0.677, 0.6736, 0.6726, 0.6764, 0.6821, 0.6831, 0.6842,
            0.6842, 0.6887, 0.6903, 0.6848, 0.6824, 0.6788, 0.6814, 0.6814, 0.6797, 0.6769,
            0.6765, 0.6733, 0.6729, 0.6758, 0.6758, 0.675, 0.678, 0.6833, 0.6856, 0.6903,
            0.6896, 0.6896, 0.6882, 0.6879, 0.6862, 0.6852, 0.6823, 0.6813, 0.6813, 0.6822,
            0.6802, 0.6802, 0.6784, 0.6748, 0.6747, 0.6747, 0.6748, 0.6733, 0.665, 0.6611,
            0.6583, 0.659, 0.659, 0.6581, 0.6578, 0.6574, 0.6532, 0.6502, 0.6514, 0.6514,
            0.6507, 0.651, 0.6489, 0.6424, 0.6406, 0.6382, 0.6382, 0.6341, 0.6344, 0.6378,
            0.6439, 0.6478, 0.6481, 0.6481, 0.6494, 0.6438, 0.6377, 0.6329, 0.6336, 0.6333,
            0.6333, 0.633, 0.6371, 0.6403, 0.6396, 0.6364, 0.6356, 0.6356, 0.6368, 0.6357,
            0.6354, 0.632, 0.6332, 0.6328, 0.6331, 0.6342, 0.6321, 0.6302, 0.6278, 0.6308,
            0.6324, 0.6324, 0.6307, 0.6277, 0.6269, 0.6335, 0.6392, 0.64, 0.6401, 0.6396,
            0.6407, 0.6423, 0.6429, 0.6472, 0.6485, 0.6486, 0.6467, 0.6444, 0.6467, 0.6509,
            0.6478, 0.6461, 0.6461, 0.6468, 0.6449, 0.647, 0.6461, 0.6452, 0.6422, 0.6422,
            0.6425, 0.6414, 0.6366, 0.6346, 0.635, 0.6346, 0.6346, 0.6343, 0.6346, 0.6379,
            0.6416, 0.6442, 0.6431, 0.6431, 0.6435, 0.644, 0.6473, 0.6469, 0.6386, 0.6356,
            0.634, 0.6346, 0.643, 0.6452, 0.6467, 0.6506, 0.6504, 0.6503, 0.6481, 0.6451,
            0.645, 0.6441, 0.6414, 0.6409, 0.6409, 0.6428, 0.6431, 0.6418, 0.6371, 0.6349,
            0.6333, 0.6334, 0.6338, 0.6342, 0.632, 0.6318, 0.637, 0.6368, 0.6368, 0.6383,
            0.6371, 0.6371, 0.6355, 0.632, 0.6277, 0.6276, 0.6291, 0.6274, 0.6293, 0.6311,
            0.631, 0.6312, 0.6312, 0.6304, 0.6294, 0.6348, 0.6378, 0.6368, 0.6368, 0.6368,
            0.636, 0.637, 0.6418, 0.6411, 0.6435, 0.6427, 0.6427, 0.6419, 0.6446, 0.6468,
            0.6487, 0.6594, 0.6666, 0.6666, 0.6678, 0.6712, 0.6705, 0.6718, 0.6784, 0.6811,
            0.6811, 0.6794, 0.6804, 0.6781, 0.6756, 0.6735, 0.6763, 0.6762, 0.6777, 0.6815,
            0.6802, 0.678, 0.6796, 0.6817, 0.6817, 0.6832, 0.6877, 0.6912, 0.6914, 0.7009,
            0.7012, 0.701, 0.7005, 0.7076, 0.7087, 0.717, 0.7105, 0.7031, 0.7029, 0.7006,
            0.7035, 0.7045, 0.6956, 0.6988, 0.6915, 0.6914, 0.6859, 0.6778, 0.6815, 0.6815,
            0.6843, 0.6846, 0.6846, 0.6923, 0.6997, 0.7098, 0.7188, 0.7232, 0.7262, 0.7266,
            0.7359, 0.7368, 0.7337, 0.7317, 0.7387, 0.7467, 0.7461, 0.7366, 0.7319, 0.7361,
            0.7437, 0.7432, 0.7461, 0.7461, 0.7454, 0.7549, 0.7742, 0.7801, 0.7903, 0.7876,
            0.7928, 0.7991, 0.8007, 0.7823, 0.7661, 0.785, 0.7863, 0.7862, 0.7821, 0.7858,
            0.7731, 0.7779, 0.7844, 0.7866, 0.7864, 0.7788, 0.7875, 0.7971, 0.8004, 0.7857,
            0.7932, 0.7938, 0.7927, 0.7918, 0.7919, 0.7989, 0.7988, 0.7949, 0.7948, 0.7882,
            0.7745, 0.771, 0.775, 0.7791, 0.7882, 0.7882, 0.7899, 0.7905, 0.7889, 0.7879,
            0.7855, 0.7866, 0.7865, 0.7795, 0.7758, 0.7717, 0.761, 0.7497, 0.7471, 0.7473,
            0.7407, 0.7288, 0.7074, 0.6927, 0.7083, 0.7191, 0.719, 0.7153, 0.7156, 0.7158,
            0.714, 0.7119, 0.7129, 0.7129, 0.7049, 0.7095
        };

        public static readonly Series TokyoSeries = new Series
        {
            Name = "Tokyo",
            Data = new Data(new[]
            {
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "square" }, Y = 7.0 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "square" }, Y = 6.9 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "square" }, Y = 9.9 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "square" }, Y = 15.5 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "square" }, Y = 18.2 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "square" }, Y = 21.5 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "square" }, Y = 25.2 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "url(/Charts/content/images/sun.png)" }, Y = 26.5 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "square" }, Y = 23.3 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "square" }, Y = 18.3 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "square" }, Y = 13.9 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "square" }, Y = 9.6 }
            })
        };

        public static readonly Series LondonSeries = new Series
        {
            Name = "London",
            Data = new Data(new[]
            {
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "url(/Charts/content/images/snow.png)" }, Y = 3.9 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "diamond" }, Y = 4.2 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "diamond" }, Y = 5.7 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "diamond" }, Y = 8.5 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "diamond" }, Y = 11.9 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "diamond" }, Y = 15.2 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "diamond" }, Y = 17.0 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "diamond" }, Y = 16.6 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "diamond" }, Y = 14.2 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "diamond" }, Y = 10.3 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "diamond" }, Y = 6.6 },
                new Point { Marker = new PlotOptionsSeriesMarker { Symbol = "diamond" }, Y = 4.8 }
            })
        };

        public static readonly Series Hestavollane = new Series
        {
            Name = "Hestavollane",
            Data = new Data(new object[]
            {
                4.3, 5.1, 4.3, 5.2, 5.4, 4.7, 3.5, 4.1, 5.6, 7.4, 6.9, 7.1,
                7.9, 7.9, 7.5, 6.7, 7.7, 7.7, 7.4, 7.0, 7.1, 5.8, 5.9, 7.4,
                8.2, 8.5, 9.4, 8.1, 10.9, 10.4, 10.9, 12.4, 12.1, 9.5, 7.5,
                7.1, 7.5, 8.1, 6.8, 3.4, 2.1, 1.9, 2.8, 2.9, 1.3, 4.4, 4.2,
                3.0, 3.0
            })
        };

        public static readonly Series Voll = new Series
        {
            Name = "Voll",
            Data = new Data(new object[]
            {
                0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.3, 0.0,
                0.0, 0.4, 0.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
                0.0, 0.6, 1.2, 1.7, 0.7, 2.9, 4.1, 2.6, 3.7, 3.9, 1.7, 2.3,
                3.0, 3.3, 4.8, 5.0, 4.8, 5.0, 3.2, 2.0, 0.9, 0.4, 0.3, 0.5, 0.4
            })
        };

        public static readonly Series Winter20072008 = new Series
        {
            Name = "Winter 2007-2008",
            // Define the data points. All series have a dummy year
            // of 1970/71 in order to be compared on the same x axis. Note
            // that in JavaScript, months start at 0 for January, 1 for February etc.
            Data = new Data(new object[,]
            {
                { new DateTime(1970, 9, 27), 0 },
                { new DateTime(1970, 10, 10), 0.6 },
                { new DateTime(1970, 10, 18), 0.7 },
                { new DateTime(1970, 11, 2), 0.8 },
                { new DateTime(1970, 11, 9), 0.6 },
                { new DateTime(1970, 11, 16), 0.6 },
                { new DateTime(1970, 11, 28), 0.67 },
                { new DateTime(1971, 1, 1), 0.81 },
                { new DateTime(1971, 1, 8), 0.78 },
                { new DateTime(1971, 1, 12), 0.98 },
                { new DateTime(1971, 1, 27), 1.84 },
                { new DateTime(1971, 2, 10), 1.80 },
                { new DateTime(1971, 2, 18), 1.80 },
                { new DateTime(1971, 2, 24), 1.92 },
                { new DateTime(1971, 3, 4), 2.49 },
                { new DateTime(1971, 3, 11), 2.79 },
                { new DateTime(1971, 3, 15), 2.73 },
                { new DateTime(1971, 3, 25), 2.61 },
                { new DateTime(1971, 4, 2), 2.76 },
                { new DateTime(1971, 4, 6), 2.82 },
                { new DateTime(1971, 4, 13), 2.8 },
                { new DateTime(1971, 5, 3), 2.1 },
                { new DateTime(1971, 5, 26), 1.1 },
                { new DateTime(1971, 6, 9), 0.25 },
                { new DateTime(1971, 6, 12), 0 }
            })
        };

        public static readonly Series Winter20082009 = new Series
        {
            Name = "Winter 2008-2009",
            Data = new Data(new object[,]
            {
                { new DateTime(1970, 9, 18), 0 },
                { new DateTime(1970, 9, 26), 0.2 },
                { new DateTime(1970, 11, 1), 0.47 },
                { new DateTime(1970, 11, 11), 0.55 },
                { new DateTime(1970, 11, 25), 1.38 },
                { new DateTime(1971, 1, 8), 1.38 },
                { new DateTime(1971, 1, 15), 1.38 },
                { new DateTime(1971, 2, 1), 1.38 },
                { new DateTime(1971, 2, 8), 1.48 },
                { new DateTime(1971, 2, 21), 1.5 },
                { new DateTime(1971, 3, 12), 1.89 },
                { new DateTime(1971, 3, 25), 2.0 },
                { new DateTime(1971, 4, 4), 1.94 },
                { new DateTime(1971, 4, 9), 1.91 },
                { new DateTime(1971, 4, 13), 1.75 },
                { new DateTime(1971, 4, 19), 1.6 },
                { new DateTime(1971, 5, 25), 0.6 },
                { new DateTime(1971, 5, 31), 0.35 },
                { new DateTime(1971, 6, 7), 0 }
            })
        };

        public static readonly Series Winter20092010 = new Series
        {
            Name = "Winter 2009-2010",
            Data = new Data(new object[,]
            {
                { new DateTime(1970, 9, 9), 0 },
                { new DateTime(1970, 9, 14), 0.15 },
                { new DateTime(1970, 10, 28), 0.35 },
                { new DateTime(1970, 11, 12), 0.46 },
                { new DateTime(1971, 1, 1), 0.59 },
                { new DateTime(1971, 1, 24), 0.58 },
                { new DateTime(1971, 2, 1), 0.62 },
                { new DateTime(1971, 2, 7), 0.65 },
                { new DateTime(1971, 2, 23), 0.77 },
                { new DateTime(1971, 3, 8), 0.77 },
                { new DateTime(1971, 3, 14), 0.79 },
                { new DateTime(1971, 3, 24), 0.86 },
                { new DateTime(1971, 4, 4), 0.8 },
                { new DateTime(1971, 4, 18), 0.94 },
                { new DateTime(1971, 4, 24), 0.9 },
                { new DateTime(1971, 4, 16), 0.39 },
                { new DateTime(1971, 5, 21), 0 }
            })
        };

        public static readonly Series Female = new Series
        {
            Name = "Female",
            Color = Color.FromArgb(127, 223, 83, 83),
            Data = new Data(new object[,]
            {
                { 161.2, 51.6 }, { 167.5, 59.0 }, { 159.5, 49.2 }, { 157.0, 63.0 }, { 155.8, 53.6 },
                { 170.0, 59.0 }, { 159.1, 47.6 }, { 166.0, 69.8 }, { 176.2, 66.8 }, { 160.2, 75.2 },
                { 172.5, 55.2 }, { 170.9, 54.2 }, { 172.9, 62.5 }, { 153.4, 42.0 }, { 160.0, 50.0 },
                { 147.2, 49.8 }, { 168.2, 49.2 }, { 175.0, 73.2 }, { 157.0, 47.8 }, { 167.6, 68.8 },
                { 159.5, 50.6 }, { 175.0, 82.5 }, { 166.8, 57.2 }, { 176.5, 87.8 }, { 170.2, 72.8 },
                { 174.0, 54.5 }, { 173.0, 59.8 }, { 179.9, 67.3 }, { 170.5, 67.8 }, { 160.0, 47.0 },
                { 154.4, 46.2 }, { 162.0, 55.0 }, { 176.5, 83.0 }, { 160.0, 54.4 }, { 152.0, 45.8 },
                { 162.1, 53.6 }, { 170.0, 73.2 }, { 160.2, 52.1 }, { 161.3, 67.9 }, { 166.4, 56.6 },
                { 168.9, 62.3 }, { 163.8, 58.5 }, { 167.6, 54.5 }, { 160.0, 50.2 }, { 161.3, 60.3 },
                { 167.6, 58.3 }, { 165.1, 56.2 }, { 160.0, 50.2 }, { 170.0, 72.9 }, { 157.5, 59.8 },
                { 167.6, 61.0 }, { 160.7, 69.1 }, { 163.2, 55.9 }, { 152.4, 46.5 }, { 157.5, 54.3 },
                { 168.3, 54.8 }, { 180.3, 60.7 }, { 165.5, 60.0 }, { 165.0, 62.0 }, { 164.5, 60.3 },
                { 156.0, 52.7 }, { 160.0, 74.3 }, { 163.0, 62.0 }, { 165.7, 73.1 }, { 161.0, 80.0 },
                { 162.0, 54.7 }, { 166.0, 53.2 }, { 174.0, 75.7 }, { 172.7, 61.1 }, { 167.6, 55.7 },
                { 151.1, 48.7 }, { 164.5, 52.3 }, { 163.5, 50.0 }, { 152.0, 59.3 }, { 169.0, 62.5 },
                { 164.0, 55.7 }, { 161.2, 54.8 }, { 155.0, 45.9 }, { 170.0, 70.6 }, { 176.2, 67.2 },
                { 170.0, 69.4 }, { 162.5, 58.2 }, { 170.3, 64.8 }, { 164.1, 71.6 }, { 169.5, 52.8 },
                { 163.2, 59.8 }, { 154.5, 49.0 }, { 159.8, 50.0 }, { 173.2, 69.2 }, { 170.0, 55.9 },
                { 161.4, 63.4 }, { 169.0, 58.2 }, { 166.2, 58.6 }, { 159.4, 45.7 }, { 162.5, 52.2 },
                { 159.0, 48.6 }, { 162.8, 57.8 }, { 159.0, 55.6 }, { 179.8, 66.8 }, { 162.9, 59.4 },
                { 161.0, 53.6 }, { 151.1, 73.2 }, { 168.2, 53.4 }, { 168.9, 69.0 }, { 173.2, 58.4 },
                { 171.8, 56.2 }, { 178.0, 70.6 }, { 164.3, 59.8 }, { 163.0, 72.0 }, { 168.5, 65.2 },
                { 166.8, 56.6 }, { 172.7, 105.2 }, { 163.5, 51.8 }, { 169.4, 63.4 }, { 167.8, 59.0 },
                { 159.5, 47.6 }, { 167.6, 63.0 }, { 161.2, 55.2 }, { 160.0, 45.0 }, { 163.2, 54.0 },
                { 162.2, 50.2 }, { 161.3, 60.2 }, { 149.5, 44.8 }, { 157.5, 58.8 }, { 163.2, 56.4 },
                { 172.7, 62.0 }, { 155.0, 49.2 }, { 156.5, 67.2 }, { 164.0, 53.8 }, { 160.9, 54.4 },
                { 162.8, 58.0 }, { 167.0, 59.8 }, { 160.0, 54.8 }, { 160.0, 43.2 }, { 168.9, 60.5 },
                { 158.2, 46.4 }, { 156.0, 64.4 }, { 160.0, 48.8 }, { 167.1, 62.2 }, { 158.0, 55.5 },
                { 167.6, 57.8 }, { 156.0, 54.6 }, { 162.1, 59.2 }, { 173.4, 52.7 }, { 159.8, 53.2 },
                { 170.5, 64.5 }, { 159.2, 51.8 }, { 157.5, 56.0 }, { 161.3, 63.6 }, { 162.6, 63.2 },
                { 160.0, 59.5 }, { 168.9, 56.8 }, { 165.1, 64.1 }, { 162.6, 50.0 }, { 165.1, 72.3 },
                { 166.4, 55.0 }, { 160.0, 55.9 }, { 152.4, 60.4 }, { 170.2, 69.1 }, { 162.6, 84.5 },
                { 170.2, 55.9 }, { 158.8, 55.5 }, { 172.7, 69.5 }, { 167.6, 76.4 }, { 162.6, 61.4 },
                { 167.6, 65.9 }, { 156.2, 58.6 }, { 175.2, 66.8 }, { 172.1, 56.6 }, { 162.6, 58.6 },
                { 160.0, 55.9 }, { 165.1, 59.1 }, { 182.9, 81.8 }, { 166.4, 70.7 }, { 165.1, 56.8 },
                { 177.8, 60.0 }, { 165.1, 58.2 }, { 175.3, 72.7 }, { 154.9, 54.1 }, { 158.8, 49.1 },
                { 172.7, 75.9 }, { 168.9, 55.0 }, { 161.3, 57.3 }, { 167.6, 55.0 }, { 165.1, 65.5 },
                { 175.3, 65.5 }, { 157.5, 48.6 }, { 163.8, 58.6 }, { 167.6, 63.6 }, { 165.1, 55.2 },
                { 165.1, 62.7 }, { 168.9, 56.6 }, { 162.6, 53.9 }, { 164.5, 63.2 }, { 176.5, 73.6 },
                { 168.9, 62.0 }, { 175.3, 63.6 }, { 159.4, 53.2 }, { 160.0, 53.4 }, { 170.2, 55.0 },
                { 162.6, 70.5 }, { 167.6, 54.5 }, { 162.6, 54.5 }, { 160.7, 55.9 }, { 160.0, 59.0 },
                { 157.5, 63.6 }, { 162.6, 54.5 }, { 152.4, 47.3 }, { 170.2, 67.7 }, { 165.1, 80.9 },
                { 172.7, 70.5 }, { 165.1, 60.9 }, { 170.2, 63.6 }, { 170.2, 54.5 }, { 170.2, 59.1 },
                { 161.3, 70.5 }, { 167.6, 52.7 }, { 167.6, 62.7 }, { 165.1, 86.3 }, { 162.6, 66.4 },
                { 152.4, 67.3 }, { 168.9, 63.0 }, { 170.2, 73.6 }, { 175.2, 62.3 }, { 175.2, 57.7 },
                { 160.0, 55.4 }, { 165.1, 104.1 }, { 174.0, 55.5 }, { 170.2, 77.3 }, { 160.0, 80.5 },
                { 167.6, 64.5 }, { 167.6, 72.3 }, { 167.6, 61.4 }, { 154.9, 58.2 }, { 162.6, 81.8 },
                { 175.3, 63.6 }, { 171.4, 53.4 }, { 157.5, 54.5 }, { 165.1, 53.6 }, { 160.0, 60.0 },
                { 174.0, 73.6 }, { 162.6, 61.4 }, { 174.0, 55.5 }, { 162.6, 63.6 }, { 161.3, 60.9 },
                { 156.2, 60.0 }, { 149.9, 46.8 }, { 169.5, 57.3 }, { 160.0, 64.1 }, { 175.3, 63.6 },
                { 169.5, 67.3 }, { 160.0, 75.5 }, { 172.7, 68.2 }, { 162.6, 61.4 }, { 157.5, 76.8 },
                { 176.5, 71.8 }, { 164.4, 55.5 }, { 160.7, 48.6 }, { 174.0, 66.4 }, { 163.8, 67.3 }
            }
                )
        };

        public static readonly Series Male = new Series
        {
            Name = "Male",
            Color = Color.FromArgb(127, 119, 152, 191),
            Data = new Data(new object[,]
            {
                { 174.0, 65.6 }, { 175.3, 71.8 }, { 193.5, 80.7 }, { 186.5, 72.6 }, { 187.2, 78.8 },
                { 181.5, 74.8 }, { 184.0, 86.4 }, { 184.5, 78.4 }, { 175.0, 62.0 }, { 184.0, 81.6 },
                { 180.0, 76.6 }, { 177.8, 83.6 }, { 192.0, 90.0 }, { 176.0, 74.6 }, { 174.0, 71.0 },
                { 184.0, 79.6 }, { 192.7, 93.8 }, { 171.5, 70.0 }, { 173.0, 72.4 }, { 176.0, 85.9 },
                { 176.0, 78.8 }, { 180.5, 77.8 }, { 172.7, 66.2 }, { 176.0, 86.4 }, { 173.5, 81.8 },
                { 178.0, 89.6 }, { 180.3, 82.8 }, { 180.3, 76.4 }, { 164.5, 63.2 }, { 173.0, 60.9 },
                { 183.5, 74.8 }, { 175.5, 70.0 }, { 188.0, 72.4 }, { 189.2, 84.1 }, { 172.8, 69.1 },
                { 170.0, 59.5 }, { 182.0, 67.2 }, { 170.0, 61.3 }, { 177.8, 68.6 }, { 184.2, 80.1 },
                { 186.7, 87.8 }, { 171.4, 84.7 }, { 172.7, 73.4 }, { 175.3, 72.1 }, { 180.3, 82.6 },
                { 182.9, 88.7 }, { 188.0, 84.1 }, { 177.2, 94.1 }, { 172.1, 74.9 }, { 167.0, 59.1 },
                { 169.5, 75.6 }, { 174.0, 86.2 }, { 172.7, 75.3 }, { 182.2, 87.1 }, { 164.1, 55.2 },
                { 163.0, 57.0 }, { 171.5, 61.4 }, { 184.2, 76.8 }, { 174.0, 86.8 }, { 174.0, 72.2 },
                { 177.0, 71.6 }, { 186.0, 84.8 }, { 167.0, 68.2 }, { 171.8, 66.1 }, { 182.0, 72.0 },
                { 167.0, 64.6 }, { 177.8, 74.8 }, { 164.5, 70.0 }, { 192.0, 101.6 }, { 175.5, 63.2 },
                { 171.2, 79.1 }, { 181.6, 78.9 }, { 167.4, 67.7 }, { 181.1, 66.0 }, { 177.0, 68.2 },
                { 174.5, 63.9 }, { 177.5, 72.0 }, { 170.5, 56.8 }, { 182.4, 74.5 }, { 197.1, 90.9 },
                { 180.1, 93.0 }, { 175.5, 80.9 }, { 180.6, 72.7 }, { 184.4, 68.0 }, { 175.5, 70.9 },
                { 180.6, 72.5 }, { 177.0, 72.5 }, { 177.1, 83.4 }, { 181.6, 75.5 }, { 176.5, 73.0 },
                { 175.0, 70.2 }, { 174.0, 73.4 }, { 165.1, 70.5 }, { 177.0, 68.9 }, { 192.0, 102.3 },
                { 176.5, 68.4 }, { 169.4, 65.9 }, { 182.1, 75.7 }, { 179.8, 84.5 }, { 175.3, 87.7 },
                { 184.9, 86.4 }, { 177.3, 73.2 }, { 167.4, 53.9 }, { 178.1, 72.0 }, { 168.9, 55.5 },
                { 157.2, 58.4 }, { 180.3, 83.2 }, { 170.2, 72.7 }, { 177.8, 64.1 }, { 172.7, 72.3 },
                { 165.1, 65.0 }, { 186.7, 86.4 }, { 165.1, 65.0 }, { 174.0, 88.6 }, { 175.3, 84.1 },
                { 185.4, 66.8 }, { 177.8, 75.5 }, { 180.3, 93.2 }, { 180.3, 82.7 }, { 177.8, 58.0 },
                { 177.8, 79.5 }, { 177.8, 78.6 }, { 177.8, 71.8 }, { 177.8, 116.4 }, { 163.8, 72.2 },
                { 188.0, 83.6 }, { 198.1, 85.5 }, { 175.3, 90.9 }, { 166.4, 85.9 }, { 190.5, 89.1 },
                { 166.4, 75.0 }, { 177.8, 77.7 }, { 179.7, 86.4 }, { 172.7, 90.9 }, { 190.5, 73.6 },
                { 185.4, 76.4 }, { 168.9, 69.1 }, { 167.6, 84.5 }, { 175.3, 64.5 }, { 170.2, 69.1 },
                { 190.5, 108.6 }, { 177.8, 86.4 }, { 190.5, 80.9 }, { 177.8, 87.7 }, { 184.2, 94.5 },
                { 176.5, 80.2 }, { 177.8, 72.0 }, { 180.3, 71.4 }, { 171.4, 72.7 }, { 172.7, 84.1 },
                { 172.7, 76.8 }, { 177.8, 63.6 }, { 177.8, 80.9 }, { 182.9, 80.9 }, { 170.2, 85.5 },
                { 167.6, 68.6 }, { 175.3, 67.7 }, { 165.1, 66.4 }, { 185.4, 102.3 }, { 181.6, 70.5 },
                { 172.7, 95.9 }, { 190.5, 84.1 }, { 179.1, 87.3 }, { 175.3, 71.8 }, { 170.2, 65.9 },
                { 193.0, 95.9 }, { 171.4, 91.4 }, { 177.8, 81.8 }, { 177.8, 96.8 }, { 167.6, 69.1 },
                { 167.6, 82.7 }, { 180.3, 75.5 }, { 182.9, 79.5 }, { 176.5, 73.6 }, { 186.7, 91.8 },
                { 188.0, 84.1 }, { 188.0, 85.9 }, { 177.8, 81.8 }, { 174.0, 82.5 }, { 177.8, 80.5 },
                { 171.4, 70.0 }, { 185.4, 81.8 }, { 185.4, 84.1 }, { 188.0, 90.5 }, { 188.0, 91.4 },
                { 182.9, 89.1 }, { 176.5, 85.0 }, { 175.3, 69.1 }, { 175.3, 73.6 }, { 188.0, 80.5 },
                { 188.0, 82.7 }, { 175.3, 86.4 }, { 170.5, 67.7 }, { 179.1, 92.7 }, { 177.8, 93.6 },
                { 175.3, 70.9 }, { 182.9, 75.0 }, { 170.8, 93.2 }, { 188.0, 93.2 }, { 180.3, 77.7 },
                { 177.8, 61.4 }, { 185.4, 94.1 }, { 168.9, 75.0 }, { 185.4, 83.6 }, { 180.3, 85.5 },
                { 174.0, 73.9 }, { 167.6, 66.8 }, { 182.9, 87.3 }, { 160.0, 72.3 }, { 180.3, 88.6 },
                { 167.6, 75.5 }, { 186.7, 101.4 }, { 175.3, 91.1 }, { 175.3, 67.3 }, { 175.9, 77.7 },
                { 175.3, 81.8 }, { 179.1, 75.5 }, { 181.6, 84.5 }, { 177.8, 76.6 }, { 182.9, 85.0 },
                { 177.8, 102.5 }, { 184.2, 77.3 }, { 179.1, 71.8 }, { 176.5, 87.9 }, { 188.0, 94.3 },
                { 174.0, 70.9 }, { 167.6, 64.5 }, { 170.2, 77.3 }, { 167.6, 72.3 }, { 188.0, 87.3 },
                { 174.0, 80.0 }, { 176.5, 82.3 }, { 180.3, 73.6 }, { 167.6, 74.1 }, { 188.0, 85.9 },
                { 180.3, 73.2 }, { 167.6, 76.3 }, { 183.0, 65.9 }, { 183.0, 90.9 }, { 179.1, 89.1 },
                { 170.2, 62.3 }, { 177.8, 82.7 }, { 179.1, 79.1 }, { 190.5, 98.2 }, { 177.8, 84.1 },
                { 180.3, 83.2 }, { 180.3, 83.2 }
            })
        };

        public static readonly Series Usa = new Series
        {
            Name = "USA",
            Data = new Data(new object[]
            {
                null, null, null, null, null, 6, 11, 32, 110, 235, 369, 640,
                1005, 1436, 2063, 3057, 4618, 6444, 9822, 15468, 20434, 24126,
                27387, 29459, 31056, 31982, 32040, 31233, 29224, 27342, 26662,
                26956, 27912, 28999, 28965, 27826, 25579, 25722, 24826, 24605,
                24304, 23464, 23708, 24099, 24357, 24237, 24401, 24344, 23586,
                22380, 21004, 17287, 14747, 13076, 12555, 12144, 11009, 10950,
                10871, 10824, 10577, 10527, 10475, 10421, 10358, 10295, 10104
            })
        };

        public static readonly Series Ussr = new Series
        {
            Name = "USSR/Russia",
            Data = new Data(new object[]
            {
                null, null, null, null, null, null, null, null, null, null,
                5, 25, 50, 120, 150, 200, 426, 660, 869, 1060, 1605, 2471, 3322,
                4238, 5221, 6129, 7089, 8339, 9399, 10538, 11643, 13092, 14478,
                15915, 17385, 19055, 21205, 23044, 25393, 27935, 30062, 32049,
                33952, 35804, 37431, 39197, 45000, 43000, 41000, 39000, 37000,
                35000, 33000, 31000, 29000, 27000, 25000, 24000, 23000, 22000,
                21000, 20000, 19000, 18000, 18000, 17000, 16000
            })
        };

        public static readonly Series TemperatureVariation = new Series
        {
            Data = new Data(new object[]
            {
                /* 2009-01-01 */
                new[] { 1230771600000, -5.8, 0.1 },
                new[] { 1230858000000, -4.1, 1.4 },
                new[] { 1230944400000, -0.5, 4.1 },
                new[] { 1231030800000, -8.9, -0.7 },
                new[] { 1231117200000, -9.7, -3.7 },
                new[] { 1231203600000, -3.4, 3.2 },
                new[] { 1231290000000, -3.9, -0.2 },
                new[] { 1231376400000, -2.4, 6.7 },
                new[] { 1231462800000, 3.8, 6.9 },
                new[] { 1231549200000, 3.1, 6.8 },
                new[] { 1231635600000, 0.0, 7.6 },
                new[] { 1231722000000, 5.6, 9.4 },
                new[] { 1231808400000, 3.6, 6.5 },
                new[] { 1231894800000, -3.6, 3.8 },
                new[] { 1231981200000, -6.0, -1.5 },
                new[] { 1232067600000, -3.8, 2.4 },
                new[] { 1232154000000, 1.5, 4.2 },
                new[] { 1232240400000, 0.0, 4.5 },
                new[] { 1232326800000, -1.1, 3.6 },
                new[] { 1232413200000, 0.5, 5.1 },
                new[] { 1232499600000, 0.0, 2.5 },
                new[] { 1232586000000, -0.6, 2.1 },
                new[] { 1232672400000, 0.8, 4.7 },
                new[] { 1232758800000, 0.6, 4.4 },
                new[] { 1232845200000, -3.9, 1.4 },
                new[] { 1232931600000, -4.3, 2.0 },
                new[] { 1233018000000, -6.1, -0.4 },
                new[] { 1233104400000, -0.3, 1.9 },
                new[] { 1233190800000, -2.9, 2.7 },
                new[] { 1233277200000, -4.0, -1.0 },
                new[] { 1233363600000, -4.4, -1.9 },
                /* 2009-02-01 */
                new[] { 1233450000000, -5.0, -2.7 },
                new[] { 1233536400000, -5.2, -2.3 },
                new[] { 1233622800000, -6.3, -0.6 },
                new[] { 1233709200000, -5.4, -0.6 },
                new[] { 1233795600000, -2.1, 1.4 },
                new[] { 1233882000000, -4.6, 1.5 },
                new[] { 1233968400000, -5.4, 0.6 },
                new[] { 1234054800000, -8.7, -2.6 },
                new[] { 1234141200000, -5.2, 1.3 },
                new[] { 1234227600000, -8.6, -2.2 },
                new[] { 1234314000000, -8.5, 0.1 },
                new[] { 1234400400000, -4.8, 1.7 },
                new[] { 1234486800000, -8.3, 1.4 },
                new[] { 1234573200000, -8.6, 1.1 },
                new[] { 1234659600000, -3.2, 1.5 },
                new[] { 1234746000000, -0.7, 4.1 },
                new[] { 1234832400000, 0.2, 3.2 },
                new[] { 1234918800000, 0.0, 3.9 },
                new[] { 1235005200000, 1.2, 4.5 },
                new[] { 1235091600000, 1.3, 5.7 },
                new[] { 1235178000000, 1.0, 2.3 },
                new[] { 1235264400000, 1.1, 5.5 },
                new[] { 1235350800000, 1.0, 6.5 },
                new[] { 1235437200000, 0.9, 3.7 },
                new[] { 1235523600000, 1.5, 4.3 },
                new[] { 1235610000000, 0.5, 5.4 },
                new[] { 1235696400000, -4.9, 3.8 },
                new[] { 1235782800000, -5.4, 1.4 },
                /* 2009-03-01 */
                new[] { 1235869200000, -1.9, 4.0 },
                new[] { 1235955600000, 0.9, 8.1 },
                new[] { 1236042000000, 1.7, 8.1 },
                new[] { 1236128400000, 0.0, 9.1 },
                new[] { 1236214800000, 2.5, 7.7 },
                new[] { 1236301200000, 2.1, 5.6 },
                new[] { 1236387600000, 1.5, 6.9 },
                new[] { 1236474000000, 0.6, 7.9 },
                new[] { 1236560400000, 1.9, 9.4 },
                new[] { 1236646800000, 1.8, 7.0 },
                new[] { 1236733200000, 0.2, 8.6 },
                new[] { 1236819600000, -0.3, 5.9 },
                new[] { 1236906000000, 1.6, 8.3 },
                new[] { 1236992400000, -0.4, 8.8 },
                new[] { 1237078800000, -2.0, 5.4 },
                new[] { 1237165200000, 2.2, 6.7 },
                new[] { 1237251600000, 0.0, 7.2 },
                new[] { 1237338000000, 0.8, 9.3 },
                new[] { 1237424400000, -1.7, 7.5 },
                new[] { 1237510800000, -2.0, 6.3 },
                new[] { 1237597200000, -0.3, 5.7 },
                new[] { 1237683600000, 1.7, 5.9 },
                new[] { 1237770000000, -0.8, 5.7 },
                new[] { 1237856400000, -3.5, 5.7 },
                new[] { 1237942800000, -2.6, 5.0 },
                new[] { 1238029200000, -0.7, 8.0 },
                new[] { 1238115600000, -2.8, 6.0 },
                new[] { 1238202000000, -2.9, 6.1 },
                new[] { 1238288400000, 0.3, 7.0 },
                new[] { 1238371200000, 0.5, 7.5 },
                new[] { 1238457600000, 1.6, 4.7 },
                /* 2009-04-01 */
                new[] { 1238544000000, -1.4, 7.3 },
                new[] { 1238630400000, 2.8, 6.8 },
                new[] { 1238716800000, 3.4, 12.0 },
                new[] { 1238803200000, 0.6, 13.5 },
                new[] { 1238889600000, 5.5, 8.3 },
                new[] { 1238976000000, 3.3, 8.3 },
                new[] { 1239062400000, 0.6, 13.5 },
                new[] { 1239148800000, 3.0, 13.7 },
                new[] { 1239235200000, 6.6, 15.2 },
                new[] { 1239321600000, 5.6, 10.3 },
                new[] { 1239408000000, 5.6, 15.2 },
                new[] { 1239494400000, 4.1, 10.0 },
                new[] { 1239580800000, 0.4, 11.8 },
                new[] { 1239667200000, 0.5, 13.6 },
                new[] { 1239753600000, 3.8, 15.6 },
                new[] { 1239840000000, 6.0, 11.6 },
                new[] { 1239926400000, 3.9, 13.9 },
                new[] { 1240012800000, 0.8, 14.3 },
                new[] { 1240099200000, 2.9, 17.3 },
                new[] { 1240185600000, 7.1, 12.2 },
                new[] { 1240272000000, 2.4, 12.9 },
                new[] { 1240358400000, 4.7, 12.9 },
                new[] { 1240444800000, 2.0, 16.3 },
                new[] { 1240531200000, 9.5, 17.4 },
                new[] { 1240617600000, 3.4, 16.7 },
                new[] { 1240704000000, 6.7, 19.1 },
                new[] { 1240790400000, 4.9, 15.8 },
                new[] { 1240876800000, 8.4, 15.3 },
                new[] { 1240963200000, 4.1, 18.6 },
                new[] { 1241049600000, 6.6, 19.9 },
                /* 2009-05-01 */
                new[] { 1241136000000, 8.7, 21.4 },
                new[] { 1241222400000, 9.2, 16.4 },
                new[] { 1241308800000, 6.2, 12.9 },
                new[] { 1241395200000, 0.0, 13.4 },
                new[] { 1241481600000, 4.5, 11.2 },
                new[] { 1241568000000, 3.2, 14.3 },
                new[] { 1241654400000, 3.1, 13.7 },
                new[] { 1241740800000, 6.4, 14.6 },
                new[] { 1241827200000, 5.0, 13.5 },
                new[] { 1241913600000, 4.8, 11.5 },
                new[] { 1242000000000, 3.5, 13.0 },
                new[] { 1242086400000, 4.5, 15.0 },
                new[] { 1242172800000, 2.0, 17.0 },
                new[] { 1242259200000, 4.3, 18.3 },
                new[] { 1242345600000, 4.5, 18.8 },
                new[] { 1242432000000, 8.0, 20.7 },
                new[] { 1242518400000, 7.4, 20.7 },
                new[] { 1242604800000, 8.4, 17.7 },
                new[] { 1242691200000, 8.3, 15.2 },
                new[] { 1242777600000, 8.3, 17.9 },
                new[] { 1242864000000, 6.7, 17.0 },
                new[] { 1242950400000, 7.6, 17.5 },
                new[] { 1243036800000, 6.6, 17.3 },
                new[] { 1243123200000, 8.7, 17.7 },
                new[] { 1243209600000, 8.9, 17.7 },
                new[] { 1243296000000, 8.4, 11.5 },
                new[] { 1243382400000, 5.9, 14.2 },
                new[] { 1243468800000, 5.1, 16.9 },
                new[] { 1243555200000, 8.3, 16.0 },
                new[] { 1243641600000, 6.2, 22.6 },
                new[] { 1243728000000, 7.8, 22.6 },
                /* 2009-06-01 */
                new[] { 1243814400000, 7.3, 21.7 },
                new[] { 1243900800000, 8.7, 16.2 },
                new[] { 1243987200000, 7.3, 13.9 },
                new[] { 1244073600000, 3.9, 15.5 },
                new[] { 1244160000000, 6.4, 17.3 },
                new[] { 1244246400000, 2.9, 17.9 },
                new[] { 1244332800000, 3.9, 17.9 },
                new[] { 1244419200000, 6.5, 16.8 },
                new[] { 1244505600000, 8.0, 14.2 },
                new[] { 1244592000000, 7.8, 16.2 },
                new[] { 1244678400000, 8.6, 15.3 },
                new[] { 1244764800000, 8.2, 18.2 },
                new[] { 1244851200000, 9.5, 17.0 },
                new[] { 1244937600000, 5.7, 18.7 },
                new[] { 1245024000000, 7.0, 16.9 },
                new[] { 1245110400000, 4.3, 15.8 },
                new[] { 1245196800000, 3.6, 19.1 },
                new[] { 1245283200000, 10.8, 15.0 },
                new[] { 1245369600000, 8.6, 16.3 },
                new[] { 1245456000000, 10.7, 17.0 },
                new[] { 1245542400000, 9.7, 18.9 },
                new[] { 1245628800000, 9.8, 20.6 },
                new[] { 1245715200000, 12.8, 19.5 },
                new[] { 1245801600000, 8.6, 24.1 },
                new[] { 1245888000000, 10.9, 26.6 },
                new[] { 1245974400000, 13.5, 28.0 },
                new[] { 1246060800000, 12.5, 23.2 },
                new[] { 1246147200000, 14.0, 28.1 },
                new[] { 1246233600000, 14.9, 29.5 },
                new[] { 1246320000000, 16.9, 22.5 },
                /* 2009-07-01 */
                new[] { 1246406400000, 14.3, 27.7 },
                new[] { 1246492800000, 14.5, 27.8 },
                new[] { 1246579200000, 15.5, 29.6 },
                new[] { 1246665600000, 16.7, 30.7 },
                new[] { 1246752000000, 16.5, 25.0 },
                new[] { 1246838400000, 17.8, 25.7 },
                new[] { 1246924800000, 13.5, 24.8 },
                new[] { 1247011200000, 10.5, 21.4 },
                new[] { 1247097600000, 9.2, 23.8 },
                new[] { 1247184000000, 11.6, 21.8 },
                new[] { 1247270400000, 10.7, 23.7 },
                new[] { 1247356800000, 11.0, 23.3 },
                new[] { 1247443200000, 11.6, 23.7 },
                new[] { 1247529600000, 11.8, 20.7 },
                new[] { 1247616000000, 12.6, 22.4 },
                new[] { 1247702400000, 13.6, 19.6 },
                new[] { 1247788800000, 11.4, 22.6 },
                new[] { 1247875200000, 13.2, 25.0 },
                new[] { 1247961600000, 14.2, 21.6 },
                new[] { 1248048000000, 13.1, 17.1 },
                new[] { 1248134400000, 12.2, 15.5 },
                new[] { 1248220800000, 12.0, 20.8 },
                new[] { 1248307200000, 12.0, 17.1 },
                new[] { 1248393600000, 12.7, 18.3 },
                new[] { 1248480000000, 12.4, 19.4 },
                new[] { 1248566400000, 12.6, 19.9 },
                new[] { 1248652800000, 11.9, 20.2 },
                new[] { 1248739200000, 11.0, 19.3 },
                new[] { 1248825600000, 10.8, 17.8 },
                new[] { 1248912000000, 11.8, 18.5 },
                new[] { 1248998400000, 10.8, 16.1 },
                /* 2009-08-01 */
                new[] { 1249084800000, 9.0, 19.9 },
                new[] { 1249171200000, 11.0, 20.2 },
                new[] { 1249257600000, 12.6, 22.5 },
                new[] { 1249344000000, 14.5, 22.7 },
                new[] { 1249430400000, 11.9, 24.0 },
                new[] { 1249516800000, 16.0, 21.5 },
                new[] { 1249603200000, 13.8, 24.8 },
                new[] { 1249689600000, 13.7, 21.5 },
                new[] { 1249776000000, 13.6, 22.1 },
                new[] { 1249862400000, 10.5, 22.3 },
                new[] { 1249948800000, 12.8, 18.4 },
                new[] { 1250035200000, 11.9, 18.4 },
                new[] { 1250121600000, 10.9, 16.4 },
                new[] { 1250208000000, 8.8, 16.8 },
                new[] { 1250294400000, 7.3, 13.6 },
                new[] { 1250380800000, 10.7, 14.0 },
                new[] { 1250467200000, 12.3, 17.5 },
                new[] { 1250553600000, 9.9, 18.4 },
                new[] { 1250640000000, 7.7, 16.0 },
                new[] { 1250726400000, 12.7, 26.5 },
                new[] { 1250812800000, 12.8, 20.3 },
                new[] { 1250899200000, 10.6, 17.7 },
                new[] { 1250985600000, 11.3, 18.5 },
                new[] { 1251072000000, 11.3, 13.8 },
                new[] { (long?)1251158400000, null, null },
                new[] { 1251244800000, 10.0, 15.1 },
                new[] { 1251331200000, 9.6, 16.5 },
                new[] { 1251417600000, 12.7, 13.8 },
                new[] { 1251504000000, 11.1, 17.1 },
                new[] { 1251590400000, 11.9, 15.3 },
                new[] { 1251676800000, 10.8, 12.6 },
                /* 2009-09-01 */
                new[] { 1251763200000, 11.5, 14.8 },
                new[] { 1251849600000, 10.0, 13.7 },
                new[] { 1251936000000, 9.3, 16.8 },
                new[] { 1252022400000, 11.1, 18.0 },
                new[] { 1252108800000, 10.4, 11.8 },
                new[] { (long?)1252195200000, null, null },
                new[] { 1252281600000, 10.8, 14.7 },
                new[] { 1252368000000, 9.0, 13.1 },
                new[] { 1252454400000, 11.4, 16.6 },
                new[] { 1252540800000, 9.7, 15.6 },
                new[] { 1252627200000, 10.4, 14.0 },
                new[] { 1252713600000, 10.0, 13.6 },
                new[] { 1252800000000, 8.3, 17.5 },
                new[] { 1252886400000, 6.1, 15.7 },
                new[] { 1252972800000, 5.5, 14.4 },
                new[] { 1253059200000, 8.5, 13.6 },
                new[] { 1253145600000, 8.8, 12.8 },
                new[] { 1253232000000, 9.4, 15.6 },
                new[] { 1253318400000, 6.7, 17.1 },
                new[] { 1253404800000, 9.3, 14.9 },
                new[] { 1253491200000, 8.4, 15.0 },
                new[] { 1253577600000, 9.5, 15.2 },
                new[] { 1253664000000, 7.7, 11.1 },
                new[] { 1253750400000, 7.1, 11.9 },
                new[] { 1253836800000, 10.0, 15.8 },
                new[] { 1253923200000, 13.9, 16.0 },
                new[] { 1254009600000, 8.0, 15.1 },
                new[] { 1254096000000, 4.4, 8.9 },
                new[] { 1254182400000, 4.7, 6.9 },
                new[] { (long?)1254268800000, null, null },
                /* 2009-10-01 */
                new[] { (long?)1254355200000, null, null },
                new[] { 1254441600000, 3.6, 3.6 },
                new[] { 1254528000000, 3.0, 6.8 },
                new[] { 1254614400000, 2.8, 9.0 },
                new[] { 1254700800000, 1.5, 7.5 },
                new[] { 1254787200000, 0.5, 5.8 },
                new[] { 1254873600000, 3.3, 9.1 },
                new[] { 1254960000000, 3.4, 5.3 },
                new[] { 1255046400000, 0.7, 6.7 },
                new[] { 1255132800000, -2.5, 6.2 },
                new[] { 1255219200000, 0.4, 8.5 },
                new[] { 1255305600000, 0.2, 9.6 },
                new[] { 1255392000000, -2.5, 5.3 },
                new[] { 1255478400000, -3.1, 5.4 },
                new[] { 1255564800000, 2.3, 8.5 },
                new[] { 1255651200000, 4.4, 10.8 },
                new[] { 1255737600000, 0.2, 7.8 },
                new[] { 1255824000000, -1.2, 7.2 },
                new[] { 1255910400000, 2.8, 6.4 },
                new[] { 1255996800000, -0.8, 7.2 },
                new[] { 1256083200000, 1.0, 9.7 },
                new[] { 1256169600000, 1.3, 4.2 },
                new[] { 1256256000000, 2.9, 11.4 },
                new[] { 1256342400000, 4.7, 9.0 },
                new[] { 1256428800000, 3.3, 10.8 },
                new[] { 1256518800000, 0.0, 7.1 },
                new[] { 1256605200000, 0.0, 2.0 },
                new[] { 1256691600000, -1.1, 5.4 },
                new[] { 1256778000000, -1.3, 4.5 },
                new[] { 1256864400000, 0.3, 4.3 },
                new[] { 1256950800000, -0.7, 4.9 },
                /* 2009-11-01 */
                new[] { 1257037200000, 4.5, 7.3 },
                new[] { 1257123600000, 0.0, 4.4 },
                new[] { 1257210000000, 0.0, 0.0 },
                new[] { 1257296400000, 0.0, 6.7 },
                new[] { 1257382800000, -2.2, 5.2 },
                new[] { 1257469200000, -2.6, 1.7 },
                new[] { 1257555600000, -1.7, 10.3 },
                new[] { 1257642000000, 0.0, 5.2 },
                new[] { 1257728400000, -1.9, 0.8 },
                new[] { 1257814800000, -2.6, -0.2 },
                new[] { 1257901200000, -2.6, 1.2 },
                new[] { 1257987600000, -4.4, -1.7 },
                new[] { 1258074000000, -5.2, 0.2 },
                new[] { (long?)1258160400000, null, null },
                new[] { 1258246800000, 1.3, 8.9 },
                new[] { 1258333200000, -0.1, 3.9 },
                new[] { 1258419600000, 1.7, 5.9 },
                new[] { 1258506000000, 4.5, 6.3 },
                new[] { 1258592400000, 4.8, 5.9 },
                new[] { 1258678800000, 4.9, 10.4 },
                new[] { 1258765200000, 2.4, 8.6 },
                new[] { 1258851600000, 2.4, 4.6 },
                new[] { 1258938000000, 1.9, 5.2 },
                new[] { 1259024400000, 2.9, 5.7 },
                new[] { 1259110800000, 2.9, 4.9 },
                new[] { 1259197200000, 3.9, 7.6 },
                new[] { 1259283600000, 0.8, 5.7 },
                new[] { 1259370000000, 0.0, 4.8 },
                new[] { 1259456400000, 1.5, 3.4 },
                new[] { 1259542800000, -3.8, 1.5 },
                /* 2009-12-01 */
                new[] { 1259629200000, -3.3, 1.7 },
                new[] { 1259715600000, -2.8, -0.7 },
                new[] { 1259802000000, -2.7, 3.8 },
                new[] { 1259888400000, -0.7, 4.2 },
                new[] { 1259974800000, 0.3, 6.1 },
                new[] { 1260061200000, 2.9, 9.8 },
                new[] { 1260147600000, 0.0, 6.8 },
                new[] { 1260234000000, 0.6, 2.8 },
                new[] { 1260320400000, 0.1, 5.1 },
                new[] { 1260406800000, 2.8, 3.9 },
                new[] { 1260493200000, -1.2, 2.2 },
                new[] { 1260579600000, -4.0, -0.4 },
                new[] { 1260666000000, -0.7, 0.7 },
                new[] { 1260752400000, 0.5, 1.6 },
                new[] { 1260838800000, -1.0, 1.5 },
                new[] { 1260925200000, -7.8, -1.0 },
                new[] { 1261011600000, -11.9, -7.9 },
                new[] { 1261098000000, -13.5, -7.9 },
                new[] { 1261184400000, -7.8, -1.7 },
                new[] { 1261270800000, -11.2, -0.6 },
                new[] { 1261357200000, -13.1, -7.2 },
                new[] { 1261443600000, -13.2, -5.2 },
                new[] { 1261530000000, -10.9, -7.7 },
                new[] { 1261616400000, -8.4, -1.5 },
                new[] { 1261702800000, -6.1, -1.2 },
                new[] { 1261789200000, -2.6, -1.2 },
                new[] { 1261875600000, -2.9, 0.7 },
                new[] { 1261962000000, -2.7, 0.7 },
                new[] { 1262048400000, -10.8, -1.3 },
                new[] { 1262134800000, -11.1, -8.0 },
                new[] { 1262221200000, -12.2, -6.5 }
            })
        };

        public static readonly Data TemperatureVariationRanges = new Data(new object[]
        {
            new[] { 1246406400000, 14.3, 27.7 },
            new[] { 1246492800000, 14.5, 27.8 },
            new[] { 1246579200000, 15.5, 29.6 },
            new[] { 1246665600000, 16.7, 30.7 },
            new[] { 1246752000000, 16.5, 25.0 },
            new[] { 1246838400000, 17.8, 25.7 },
            new[] { 1246924800000, 13.5, 24.8 },
            new[] { 1247011200000, 10.5, 21.4 },
            new[] { 1247097600000, 9.2, 23.8 },
            new[] { 1247184000000, 11.6, 21.8 },
            new[] { 1247270400000, 10.7, 23.7 },
            new[] { 1247356800000, 11.0, 23.3 },
            new[] { 1247443200000, 11.6, 23.7 },
            new[] { 1247529600000, 11.8, 20.7 },
            new[] { 1247616000000, 12.6, 22.4 },
            new[] { 1247702400000, 13.6, 19.6 },
            new[] { 1247788800000, 11.4, 22.6 },
            new[] { 1247875200000, 13.2, 25.0 },
            new[] { 1247961600000, 14.2, 21.6 },
            new[] { 1248048000000, 13.1, 17.1 },
            new[] { 1248134400000, 12.2, 15.5 },
            new[] { 1248220800000, 12.0, 20.8 },
            new[] { 1248307200000, 12.0, 17.1 },
            new[] { 1248393600000, 12.7, 18.3 },
            new[] { 1248480000000, 12.4, 19.4 },
            new[] { 1248566400000, 12.6, 19.9 },
            new[] { 1248652800000, 11.9, 20.2 },
            new[] { 1248739200000, 11.0, 19.3 },
            new[] { 1248825600000, 10.8, 17.8 },
            new[] { 1248912000000, 11.8, 18.5 },
            new[] { 1248998400000, 10.8, 16.1 }
        });

        public static readonly Data TemperatureVariationAverages = new Data(new object[]
        {
            new[] { 1246406400000, 21.5 },
            new[] { 1246492800000, 22.1 },
            new[] { 1246579200000, 23 },
            new[] { 1246665600000, 23.8 },
            new[] { 1246752000000, 21.4 },
            new[] { 1246838400000, 21.3 },
            new[] { 1246924800000, 18.3 },
            new[] { 1247011200000, 15.4 },
            new[] { 1247097600000, 16.4 },
            new[] { 1247184000000, 17.7 },
            new[] { 1247270400000, 17.5 },
            new[] { 1247356800000, 17.6 },
            new[] { 1247443200000, 17.7 },
            new[] { 1247529600000, 16.8 },
            new[] { 1247616000000, 17.7 },
            new[] { 1247702400000, 16.3 },
            new[] { 1247788800000, 17.8 },
            new[] { 1247875200000, 18.1 },
            new[] { 1247961600000, 17.2 },
            new[] { 1248048000000, 14.4 },
            new[] { 1248134400000, 13.7 },
            new[] { 1248220800000, 15.7 },
            new[] { 1248307200000, 14.6 },
            new[] { 1248393600000, 15.3 },
            new[] { 1248480000000, 15.3 },
            new[] { 1248566400000, 15.8 },
            new[] { 1248652800000, 15.2 },
            new[] { 1248739200000, 14.8 },
            new[] { 1248825600000, 14.4 },
            new[] { 1248912000000, 15 },
            new[] { 1248998400000, 13.6 }
        });
    }
}